using System;
using System.Collections.Generic;

using PMServiceDesk.DataType;
using PMServiceDesk.DataAccess;

namespace PMServiceDesk.BusinessLogic
{
    public class UsuarioRecursoLogic
    {
        #region Variables

        private UsuarioRecursoData _usuarioRecursoData;

        #endregion

        #region Constructores

        public UsuarioRecursoLogic()
        {
            _usuarioRecursoData = new UsuarioRecursoData();
        }

        #endregion

        #region Metodos

        public UsuarioRecursoType CargarPorId(string id)
        {
            _usuarioRecursoData.FiltrarPorId(id);

            return _usuarioRecursoData.Cargar();
        }

        public void Grabar(UsuarioRecursoType usuarioRecurso)
        {
            _usuarioRecursoData.Grabar(usuarioRecurso);
        }

        public UsuarioRecursoType CargarPorUsuarioRecurso(string usuarioId, string recursoId)
        {
            _usuarioRecursoData.FiltrarPorUsuarioId(usuarioId);
            _usuarioRecursoData.FiltrarPorRecursoId(recursoId);

            return _usuarioRecursoData.Cargar();
        }

        public List<UsuarioRecursoType> CargarUsuariosPorProyecto(string proyectoId)
        {
            _usuarioRecursoData.FiltrarPorProyectoId(proyectoId);
            return _usuarioRecursoData.CargarLista();
        }

        public List<UsuarioRecursoType> CargarExplorador(string id,string usuarioId)
        {
            if(id != "") _usuarioRecursoData.FiltrarPorId(id);
            if(usuarioId != "") _usuarioRecursoData.FiltrarPorUsuarioId(usuarioId);

            return _usuarioRecursoData.CargarListaVista();
        }

        #endregion
    }
}
